﻿using YAPACS.RisServer.Services.Dtos;
using YAPACS.Workflows;

namespace YAPACS.RisServer.Abstractions;

public interface IMatchService
{
    /// <summary>
    /// 获取未匹配检查高级搜索视图
    /// </summary>
    /// <returns></returns>
    Task<WorkflowOutput> GetExamAdvancedSearchViewAsync();
    /// <summary>
    /// 获取未匹配Study高级搜索视图
    /// </summary>
    /// <returns></returns>
    Task<WorkflowOutput> GetStudyAdvancedSearchViewAsync();
    /// <summary>
    /// 获取未匹配的Study
    /// </summary>
    /// <param name="take"></param>
    /// <param name="skip"></param>
    /// <param name="search"></param>
    /// <returns></returns>
    Task<WorkflowOutput> GetStudiesAsync(DataGridRequest request);
    /// <summary>
    /// 获取检查
    /// </summary>
    /// <param name="take"></param>
    /// <param name="skip"></param>
    /// <param name="search"></param>
    /// <returns></returns>
    Task<WorkflowOutput> GetExamsAsync(DataGridRequest request);
    Task<WorkflowOutput> GetReportExamsAsync(DataGridRequest request);
    /// <summary>
    /// 匹配
    /// </summary>
    /// <param name="studyIds"></param>
    /// <param name="examId"></param>
    /// <returns></returns>
    Task<WorkflowOutput> MatchAsync(IList<Guid> studyIds, Guid examId);
    Task<WorkflowOutput> MatchReportAsync(IList<Guid> studyIds, Guid examId);
}
